package com.tepth.remote.ui.alert;

import android.app.Dialog;

/**
 * Description:
 *
 * @author Hequn.Lee
 * @date 2018/11/12
 */
public interface IDialog {

    /**
     * 显示进度条Alert
     *
     * @param canCancel 是否可以取消
     * @param title     标题
     * @param msg       内容
     */
    void showProgressDialog(boolean canCancel, String title, String msg);

    /**
     * 显示可取消的进度条
     *
     * @param title         标题
     * @param msg           内容
     * @param clickListener 取消回调
     */
    void showProgressDialogWithCancel(String title, String msg,
                                      IDialogClickListener clickListener);

    void changeText(String title, String msg);

    void showSuccess(String title, String msg, IDialogClickListener clickListener);

    void showFailed(String title, String msg, IDialogClickListener clickListener);

    void showFailed(String title, String msg, IDialogClickListener clickListener, IDialogClickListener cancelListener);

    void showWarning(String title, String msg, IDialogClickListener clickListener);

    void showWarning(String title, String msg, IDialogClickListener clickListener,
                     IDialogClickListener cancelListener);

    void showNormalHideCancel(String title, String msg, IDialogClickListener clickListener);

    void clearDialog();

    void stopProgressWithSuccess(String option, String msg, IDialogClickListener listener);

    void changeToProgressType(String msg);

    void stopProgressWithFailed(String option, String msg);

    void stopProgressWithFailed(String option, String msg, IDialogClickListener listener);

    /**
     * 获取Alert
     *
     * @return 返回Alert
     */
    Dialog getDialog();
}
